home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
fb386
/
getdir
/
getdir2.bas
< prev
next >
Wrap
BASIC Source File
|
1991-10-18
|
2KB
|
71 lines
10 '---getdir2.bas--- 91.08.16--- NAG01365 K.Kurosaki
20 CLEAR ,,8192,8192,8192
22 SCREEN @0 : PALETTE : PALETTE 5,[200,0,0] : COLOR 7,0,7 : CLS
30 LOADM"getdir2.rex",0
40 DEFINT A-Z : DIM S$(100),F$(100),AT(100)
50 WXB=100 : WYB=0 : GOSUB *MC_INIT
60 FOR I=1 TO 25 : S$=S$+" " : NEXT
70 FOR I=0 TO 100 : S$(I)=S$+" " : NEXT
80 *MAIN
90 GOSUB *DIR : CLS
100 FOR I=0 TO N1-1
110 WX=WXB:WY=WYB+I*18: WC1=7: WC2=1: WC3=7: WS$=" "+F$(I):WW=8*15
120 IF AT(I) AND &H10 THEN WC2=4
130 GOSUB *BOX
140 NEXT
150 *MAIN1
160 MOUSE(2) ON : MOUSE(4) ON
170 *MAIN2
180 IF CD_FLAG=0 THEN *MAIN2
190 MOUSE(2) STOP : MOUSE(4) STOP
200 SHELL "CD "+F$(MO_NO1) : CD_FLAG=0
210 GOTO *MAIN
220 '
230 *MC_INIT
240 MOUSE 0 : MOUSE 1,WXB,WYB,1
250 ON MOUSE(2) GOSUB *MO_LEFT
260 ON MOUSE(4) GOSUB *MO_RIGHT
270 RETURN
280 '
290 *MO_LEFT
300 C1=1 : WC2=2 : GOTO *MO_RIGHT2
310 *MO_RIGHT
320 C1=0 : WC2=1
330 *MO_RIGHT2
340 GOSUB *MO_XY
350 IF MO_NO>=0 AND MO_NO<N1 THEN GOSUB *CK_CD:GOSUB *BOX_CHG
360 RETURN *MAIN1
370 '
380 *CK_CD
390 IF (AT(MO_NO) AND &H10)=0 THEN RETURN
400 IF C1=1 THEN CD_FLAG=1:MO_NO1=MO_NO : RETURN
410 WC2=4
420 RETURN
430 '
440 *MO_XY
450 MOUSE(2) STOP : MOUSE(4) STOP
460 MOX=MOUSE(0)-WXB : MOY=MOUSE(1)-WYB
470 IF MOX<0 OR MOY<0 OR MOX>WW OR MOY>18*26-1 THEN MO_NO=-1 : RETURN
480 MO_NO=MOY \ 18 : RETURN
490 '
500 *BOX_CHG
510 WY=18*MO_NO : WS$=" "+F$(MO_NO) : GOSUB *BOX : RETURN
520 '
530 *BOX
540 LINE(WX,WY)-(WX+WW,WY+16),PSET,WC1,BF,%WC2
550 SYMBOL(WX,WY+1),WS$,1,1,WC3
560 RETURN
570 '
580 *DIR
590 P$="*.*"+CHR$(0)
600 AT&=&H1F : N&=100
610 ST=CALLM(0,1,VARPTR(P$),AT&,VARPTR(N&),VARPTR(S$(0)))
620 IF ST>1 THEN PRINT "error";ST : A$=INPUT$(1)
630 N1=0
640 FOR I=0 TO N&-1
650 F$=MID$(S$(I),12,12) : F$(N1)=F$
660 AT=ASC(S$(I)) : AT(N1)=AT : N1=N1+1
670 IF (AT AND &H10)>0 AND LEFT$(F$,2)=". " THEN N1=N1-1
680 NEXT
690 RETURN